這個系列想分享關於 Windows Security 的知識,每個主題除了粗略的介紹外,還會搭配一個實作或技術分析 (e.g., Malware Techniques, CTF Challenges, Conference Talks),除了鍛鍊自己復現一些攻擊研究的能力外,也希望同時能帶給讀者一些實質的收穫。以下是預計發表的內容:
Overview & Tools
Demystify PE Format
DLL Loading
Shellcoding
Process Creation
Process Injection
Token Privilege
UAC
.NET PE Format
.NET Deserialization Exploit
Path Normalization
Time-of-Check Time-of-Use
Named Pipe
RPC
DCOM/COM
Syscalls
ETW
Protected Process
Stack-based Buffer Overflow
SEH
VEH
如果有發現分享的內容中有不正確或不清楚的部分也歡迎在下方留言討論,我也會盡量確保分享的知識的正確性!
在分析惡意程式/逆向工程/漏洞利用時,會有一些常用的工具可以幫助我們順利完成目標。今天想介紹的有以下幾種:
最經典也最好用的工具沒有之一,跟隔壁棚的 GDB 有異曲同工之妙 XD
可以載入 Debug Symbol ,透過結構中的明文可以更有效率的進行分析。我自己使用的時機大多是在開發 Exploit 的時候,而分析惡意程式通常會採用更複雜更多元的工具。
這是一款永垂不朽的經典反組譯工具,也因此綠色版非常的流行,並且有廣大的社群愛好者分享許多自己開發的插件或腳本:
學習惡意程式分析的人一定必學的工具,近期也算是慢慢取代 OllyDbg 的地位,大部分惡意程式分析師都是從這系列工具開始學習 (排除某些人可以從 hexdump 分析惡意程式 lol)。個人最推崇的是視窗的切割,對於分析惡意程式時非常方便,可以快速檢視 memory 及 registers 的的變化,在 Debugging 方面的基本功能和 IDA Pro 差異不大,所以有時候也會直接用 IDA Pro 進行 Debug。
檢視 PE 結構的老牌工具,上 binary patch 也很方便,雖然畫面有點懷舊但是真的很好用 XD
也有另一款開源工具 PE bear 可以達到一模一樣的目的
另外,還有一些其他的開源工具針對比較特定的使用場景,在後續的章節有用到的話也會一併介紹。有了這些工具,就可以開始分析 Windows 上的 binary!